package cn.bandeqing.dispatch.rpc;

import cn.bandeqing.base.resp.Resp;
import cn.bandeqing.base.resp.Table;
import cn.bandeqing.dispatch.req.*;
import cn.bandeqing.dispatch.resp.*;

import java.util.List;

public interface IDispatchRpc {

    Resp<Table<WorkTimeTable>> workTimeTable(WorkTimeTableReq req);

    void saveOrUpdate(WorkTimeSaveOrUpdateReq req);

    Resp<Table<OrderDispatchTable>> table(OrderDispatchTableReq req);

    Resp<Table<HaveWorkerTable>> haveWorkertable(HaveWorkerTableReq req);

    Resp<Table<DispatchWorkerTable>> dispatchWorkertable(DispatchWorkerTableReq req);

    Resp<Void> plan(DispatchPlanReq req);

    Resp<Void> modify(DispatchModifyReq req);

    Resp<Void> modifyDispatchStatus(MofifyDispatchStatusReq req);

    Resp<Void> modifyWorkTimeSwitch(ModifyWorkTimeSwitchReq req);

    Resp<List<DispatchListResp>> list(DispatchListReq req);

    Resp<Void> handle(DispatchHandleReq req);

    Resp<DispatchDetailResp> detail(DispatchDetailReq req);

    Resp<Void> forcePlan(DispatchForcePlanReq req);

}
